
#ifndef CSV_FILE_PARSER_H__
#define CSV_FILE_PARSER_H__

#include "types.h"

#ifdef __cplusplus
extern  "C" {
#endif 


typedef void* CsvParser;


CsvParser csvparser_creat(const char *filename);
void csvparser_read_csv_to_code_list(CsvParser* parser);

void csvparser_free_list(CsvParser* parser);

void csvparser_free(CsvParser parser);

void csvparser_mutex_lock(CsvParser* parser);

void csvparser_mutex_unlock(CsvParser* parser);

int csvparser_get_length(CsvParser parser);

CsvNode* csvparser_get_node(CsvParser parser, const char* code);

void csvparser_begin(CsvParser parser);

void csvparser_next(CsvParser parser);

int csvparser_is_end(CsvParser parser);

CsvNode* csvparser_current(CsvParser parser);
#ifdef __cplusplus
}
#endif 


#endif